home *** CD-ROM | disk | FTP | other *** search
- /***************************************************************************
- **** 3270 Driver header file ****
- ***************************************************************************/
- /*
- Copyright Cornell University 1986. All rights are reserved.
-
- */
-
- #define ZF 0x0040 /* mask bit of zero flag */
- #define AID_RESET 0x60 /* code for no AID generated */
- #define FWD 0 /* forward search direction for screen attr */
- #define BACK 1 /* backward search direction for screen attr */
- #define TABS 38 /* number of 3270 keys to support */
- #define TELNETSOCK 23 /* Telnet well known socket no. */
-
-
- #define SCREEN_SIZE 1920 /* size of the screen map */
- #define ROW_SIZE 80 /* # of characters per row */
- #define COL_SIZE 24
-
- /* 3270 model IDs */
- #define IBMMOD2 0
- #define IBMMOD3 1
- #define IBMMOD5 2
-
-
- /* define the 3270 command codes */
-
- #define W 0x01 /* Write */
- #define RB 0x02 /* Read Buffer */
- #define EW 0x05 /* Erase/Write */
- #define RM 0x06 /* Read Modified */
- #define EWA 0x0D /* Erase/Write Alternate */
- #define RMA 0x0E /* Read Modified All */
- #define EAU 0x0F /* Erase All Unprotected */
-
- /* define the 3270 order codes */
-
- #define PT 0x05 /* program tab */
- #define GE 0x08 /* graphic escape */
- #define SBA 0x11 /* set buffer address */
- #define EUA 0x12 /* erase unprotected to address */
- #define IC 0x13 /* insert cursor */
- #define SF 0x1D /* start field */
- #define SA 0x28 /* set attribute, never seen */
- #define SFE 0x29 /* start field extended, never seen */
- #define MF 0x2C /* modify field, never seen */
- #define RA 0x3C /* repeat to address */
-
- /* define the Write Control Character (WCC) bit definitions */
-
- #define RMDT 0x01 /* reset modified data tag */
- #define KYBDRST 0x02 /* keyboard resotre bit */
- #define SNDALRM 0x04 /* sound alarm */
-
- /* define the bit definitions for the 3270 field attributes */
-
- #define MDT 0x01 /* modified data tag */
- /* 0 -> field not modified */
- /* 1 -> field modified */
-
- #define PROT 0x02 /* protected/unprotected */
- /* 0 -> unprotected */
- /* 1 -> protected */
- /* PROTECTED is 0x20 in data stream;
- 0x02 is RESERVED */
-
- #define DSPD 0x0C /* display detectable mask */
- /* 00 -> display/not pen-detectable */
- /* 01 (4) -> display/pen-detectable */
- /* 10 (8) -> intensified display/detectable */
- /* 11 (12) -> nondisplay/non-detectable */
-
- #define INVIS 0x0C /* display detectable field is invisible */
-
- #define ALPHANUM 0x10 /* alphanumeric */
- /* 0 -> alphanumeric */
- /* 1 -> numeric */
-
- #define DSPMOD 0x1E /* ALL screen detectable fields for our color 3270 */
-
- #define HOSTPROT 0x20 /* protected/unprotected host representation */
-
- #define GC 0xC0 /* graphic converter */
-
- #define ATTR 32 /* if < 32 char is an attribute */
- #define IBMNULL 0xFF /* NULL gets bumped to 0xff */
-
- /* event_reg bit definitions */
-
- #define SCREEN_EVENT 0x0001 /* post new info to update real screen */
- #define SOUND_ALARM 0x0002 /* post sound terminal bell from WCC */
- #define KYBD_RESTORE 0x0004 /* post unlock keyboard from WCC */
- #define SYS_LOCK 0x0008 /* post lock keyboard from send ATTN */
- #define HOST_EVENT 0x0010 /* post process string from host */
- #define INSERT 0x0020 /* post insert mode */
- #define LINE_25 0x0040 /* post update 3270 status line */
- #define SCREEN_REFRESH 0x0080 /* post update screen ready */
- #define KYBD_LOCK 0x0100 /* post lock keyboard from illegal key */
- #define TFTP_ON 0x0200 /* post file transfer in progress */
- #define TCP_ACK 0x0400 /* post we should ack TCP packet */
- #define CLEAR_KEY 0x0800 /* CLEAR was most recent key */
- #define TICKLE 0x1000 /* post tickle telnet ayt */
- #define FIN 0x2000 /* post fin sent to host */
-
-
- /* The real pfkey codes */
-
- #define RPF1 0xf1
- #define RPF2 0xf2
- #define RPF3 0xf3
- #define RPF4 0xf4
- #define RPF5 0xf5
- #define RPF6 0xf6
- #define RPF7 0xf7
- #define RPF8 0xf8
- #define RPF9 0xf9
- #define RPF10 0x7a
- #define RPF11 0x7b
- #define RPF12 0x7c
- #define RPF13 0xc1
- #define RPF14 0xc2
- #define RPF15 0xc3
- #define RPF16 0xc4
- #define RPF17 0xc5
- #define RPF18 0xc6
- #define RPF19 0xc7
- #define RPF20 0xc8
- #define RPF21 0xc9
- #define RPF22 0x4a
- #define RPF23 0x4b
- #define RPF24 0x4c
- #define RPA1 0x6c
- #define RPA2 0x6e
- #define RPA3 0x6b
- #define RCLEAR 0x6d
- #define RENTER 0x7d
-
-
- /* ASCII map key equivalents */
- #define IBMK_RS 0x80 /* record separator | -- vertical bar */
- #define IBMK_FS 0x81 /* field separator -- double dagger */
- #define IBMK_TAB 0x81 /* IBM tab for PASTE or key macro only */
-
-
- #define SCRALLMOD 0xffffffff /* modflg test for all changed */
-
- int err_sub(); /* exit the program */
- int tftp_on(); /* called by server while transfer in progress */
- int tftp_off(); /* called by server when transfer finished */
-
- /* 3270 command Interface */
-
- int cmd(); /* deal with commands from host */
- int read_mod(); /* read modified logic */
- int eau(); /* erase all unprotected logic */
-
-
- /* Miscellaneous Routines */
-
- int mem_clear(); /* clear a chunk of memory */
- int addr_12(); /* form 12 bit address to send to host */
- int pc_attr(); /* translate 3270 attribute into PC attribute */
-
- unsigned char *look_attr(); /* look forward or back to screen attr byte */
- unsigned char *next_unp(); /* find next unprotected field */
- unsigned char *first_unp();
-
-
- long memtest(); /* check to see if enough memory available */
-
- /* system subroutines */
-
- char *malloc(); /* returns a pointer to allocated storage */
-